// PFT.cpp : implementation file
//

#include "stdafx.h"
#include "isismarc.h"
#include "PFT.h"


#include "ISISMARCView.h"


#include "conversion.h"
#include "global.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPFT dialog


CPFT::CPFT(CWnd* pParent /*=NULL*/)
	: CDialog(IDD_PFT, pParent)
{
	//{{AFX_DATA_INIT(CPFT)
	//}}AFX_DATA_INIT
}


void CPFT::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPFT)
	DDX_Control(pDX, IDC_COMBOPFT, m_combopfts);
	DDX_Control(pDX, IDC_all, m_FormatAll);
	DDX_Control(pDX, IDC_BUTTONABCD, m_abcd);
	DDX_Control(pDX, IDOK, m_ok);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPFT, CDialog)
	//{{AFX_MSG_MAP(CPFT)
	ON_CBN_SELCHANGE(IDC_COMBOPFT, OnSelchangeCombopft)
	ON_BN_CLICKED(IDC_BUTTONABCD, OnButtonabcd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPFT message handlers




int CPFT::DoModal() 
{
	return CDialog::DoModal();
}

BOOL CPFT::OnInitDialog() 
{
	CDialog::OnInitDialog();


  //mensajes por idiomas
	m_FormatAll.SetBackgroundColor(false, BLANCO);
	m_ok.SetWindowText(tMensaje[0][4]);
	//m_cancelar.SetWindowText(tMensaje[0][2]);
	m_abcd.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON3));
	
	SetWindowText(vistaduenia->base_activa+" - "+tMensaje[5][8]);

	
	CString cadena = vistaduenia->mi.IsisReturnAllFormatsForDB();

	cadena = cadena.Mid(1);	
	int pos=cadena.Find("|",0);;
	int i=0;
   while (pos>0)
	{
		
		//saco el nombre del archivo pft
		lista=lista+(i,cadena.Left(pos))+"#";
       	
		cadena = cadena.Mid(pos+1);	

		///
        pos=cadena.Find("#",0);
		m_combopfts.AddString(cadena.Left(pos));
		cadena = cadena.Mid(pos+1);
		pos=cadena.Find("|",0);
        i+=1;
		
	}

	//m_combopfts.SetCurSel(0);
    
	SetIcon (AfxGetApp()->LoadIcon(IDR_MAINFRAME),false);

	MostrarAll();
	return true;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}




void CPFT::MostrarAll()
{

	CString texto;
	int size = registros.GetSize();
	for (int i = 0; i < size; i++)
	{
		for (int j=0; j<5-registros[i].tag.GetLength();j++,texto+=" ");
		texto = texto + registros[i].tag + ":   " + registros[i].reg + "\r\n";
	}
	ConvertirToWin(texto.GetBuffer(5000), texto.GetBuffer(5000));
	texto.ReleaseBuffer();
	m_FormatAll.SetWindowText(texto);


}
void CPFT::RecibirRegistro(CMyIsisExternal cmi, CArray<registro , registro > * reg, char * a, bool format, CString mfn)
{
	mi = cmi;
	recibeMFN=mfn;
	formato = format;
	int i;
	registro rr;
	registros.RemoveAll();
	for ( i= 0; i < reg->GetSize(); i ++)
	{
		rr.tag = reg->ElementAt(i).tag;
		rr.reg = reg->ElementAt(i).reg;
		registros.Add(rr);
	}
}

void CPFT::AsignaVistaDuenia(CView * vista)
{
	this->vistaduenia=(CIsismarcView*) vista;

	//CIsismarcApp* App = (CIsismarcApp*)AfxGetApp();
	//App->CerrarBusqueda();

}


void CPFT::OnSelchangeCombopft() 
{
	
	
}

void CPFT::OnButtonabcd() 
{
    
	 /*CString ddd="<html><body><strong>Disculpe</strong></p></body></html>";
  ///creo un un html  
     int count;
   count=pagina.GetLength();
     CFile flEmployees;
 
	flEmployees.Open("c:\\ss.txt", CFile::modeCreate| CFile:: modeWrite);
	//CArchive ar(&flEmployees, CArchive::store);
     
  
     flEmployees.Write(ddd,count); */

    //ShellExecute(0,"open","iexplore.exe",NULL,ddd,SW_SHOWNORMAL);	

    CString nomformt,reservar;
	int index = m_combopfts.GetCurSel();
    int i=0,pos=0;
    reservar=lista;
	while(i<=index)
	{   
	    pos=lista.Find('#',0);
        nomformt=lista.Left(pos);
		lista=lista.Mid(pos+1);
		i=i+1;
	}	
    lista=reservar;

  	CString pagina = vistaduenia->mi.IsisRegistroFormateado(nomformt,recibeMFN);
	
    ShellExecute( 0, "open",pagina , NULL, "c:\temp", SW_SHOWNORMAL);

	// TODO: Add your control notification handler code here
	
}
